#!/bin/bash

# 将第一个命令行参数赋值给变量opt
opt=$1
# 将第二个命令行参数赋值给变量filename
filename=$2

# 定义函数checkfile
checkfile()
{
  # 如果没有指定文件名，则显示缺少文件名，并退出脚本的运行
  if [ -z $filename ]
  then

    # 显示缺少文件名的信息到标准输出
echo "File name missing"
# 退出脚本，退出状态码为1
    exit 1

  # 如果指定的文件不存在，则显示文件不存在，并退出脚本的运行
  elif [ ! -f $filename ]
  then

    # 显示文件不存在的信息到标准输出
echo "The file $filename doesn't exist!"
# 退出脚本，退出状态码为2
    exit 2

  fi
}

case $opt in

  # 匹配-e或-E选项
  -e|-E)

    #调用checkfile函数
    checkfile
echo "Editing $filename file..."
# 运行编辑文件的命令或函数，或脚本
    # Running command or function to edit the file.
    ;;
  # 匹配-p或-P选项
  -p|-P)

    # 调用checkfile函数
    checkfile
echo "Displaying $filename file..."
# 运行显示文件的命令或函数，或脚本
    # Running command or function to display the file.
    ;;

  # 匹配其它选项
  *)

    echo "Bad argument!"
    echo "Usage: `basename $0` -e|-p filename"
    echo "       -e filename : Edit file."
    echo "       -p filename ; Display file."
    ;;

esac